wayland: Add support for xdg-output
authorOlivier Fourdan <ofourdan@redhat.com>
Mon, 15 Apr 2019 14:42:45 +0000 (16:42 +0200)
committerOlivier Fourdan <ofourdan@redhat.com>
Tue, 16 Apr 2019 14:14:43 +0000 (16:14 +0200)
commit1f58e0ed6b5eaf6140bebdfb3560ba935ce1ef66
tree9970cad4e236e797f01559071e9f6b50eed5c550
parent1ee5c2cac42b35b7c70739ae0e4e67842da44683
wayland: Add support for xdg-output

Previously, the GDK backend for Wayland would deduce the logical size
of the monitors from the wl_output size and scale.

With the addition of fractional scaling which advertises a larger scale
value and then scale down the client surface, the computed logical size
of the monitors in GDK would be wrong and confuse applications which
insist on using the monitor size and position (like Firefox).

The xdg-output protocol aims at describing outputs in a way which is more
in line with the concept of an output on desktop oriented systems by
presenting the outputs using their logical size and position appropriately
transformed.

Add support for the optional xdg-output protocol so that the size and
position of the monitors as reported by GDK is correct even when using
fractional scaling.

Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/1828
gdk/wayland/gdkdisplay-wayland.c
gdk/wayland/gdkdisplay-wayland.h
gdk/wayland/gdkmonitor-wayland.h
gdk/wayland/meson.build